From: Jasper St. Pierre Date: Wed, 2 Oct 2013 22:22:07 +0000 (-0400) Subject: app-system: Don't use gmenu_tree_entry_get_desktop_app_info X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3097 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=76eca409a3d79a02c05ce8c2d8341ec6a1961838;p=gnome-shell.git app-system: Don't use gmenu_tree_entry_get_desktop_app_info It's a broken method when it comes to giving us a useful GDesktopAppInfo, and it's hard to fix libgmenu properly, so simply recreate the app info using the desktop file ID that libgmenu has. --- diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 8d36f25b7..a825712b2 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -341,7 +341,7 @@ on_apps_tree_changed_cb (GMenuTree *tree, else g_free (prefix); - info = gmenu_tree_entry_get_app_info (entry); + info = g_desktop_app_info_new (gmenu_tree_entry_get_desktop_file_id (entry)); app = g_hash_table_lookup (self->priv->id_to_app, id); if (app != NULL) @@ -363,6 +363,8 @@ on_apps_tree_changed_cb (GMenuTree *tree, app = _shell_app_new (info); } + g_object_unref (info); + g_hash_table_replace (self->priv->id_to_app, (char*)id, app); if (!gmenu_tree_entry_get_is_nodisplay_recurse (entry)) g_hash_table_replace (self->priv->visible_id_to_app, (char*)id, app);